import axios from 'axios'
// Add a request interceptor
axios.interceptors.request.use(
  function (config) {
    // Do something before request is sent
    // 将本地存储的token加到请求头中
    const token = localStorage.getItem('token')
    config.headers.Authorization = `Bearer ${token}`

    return config
  },
  function (error) {
    // Do something with request error
    return Promise.reject(error)
  }
)

// Add a response interceptor
axios.interceptors.response.use(
  function (response) {
    // Any status code that lie within the range of 2xx cause this function to trigger
    // Do something with response data

    // console.log(response.headers)
    // 获取后端响应回来的token
    const { authorization } = response.headers
    authorization && localStorage.setItem('token', authorization)

    return response
  },
  function (error) {
    // Any status codes that falls outside the range of 2xx cause this function to trigger
    // Do something with response error

    // token过期，跳转到登录页面
    const { status } = error.response
    if (status === 401) {
      window.location.href = '#/login'
    }
    return Promise.reject(error)
  }
)
